home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Digivec
-
- Copyright (C) 1990
- By David Baggett
-
-
- --------------------------------------------------------------------------------
- User Contract
-
- This program is FREE. You may distribute it at will, provided you
-
- 1) do not charge any money for it,
- 2) distribute it WITH the documentation, and
- 3) do not change the program or documentation in ANY WAY.
-
- --------------------------------------------------------------------------------
-
-
- Introduction
- ------------
-
- "My ST was so boring before I got Digivec!"
-
- "Programming just isn't the same without it."
-
- "I just wouldn't know what to do if someone took away my Digivec!"
-
-
- You'll agree with these happy customers once you too try the exciting new
- shareware utility that's taking the ST world by storm! It's Digivec, and
- once you install it on your system, you won't know how you ever lived
- without it.
-
- Got your attention? Good. Okay, listen up. Digivec lets you install
- digitized sounds to be played when various system events occur. Like
- bus errors. Illegal instruction traps. Or line A calls. Even...
- GEM critical errors (gasp!).
-
-
- General Usage
- -------------
-
- Put digivec.prg in your AUTO folder. Then create a file called
- digivec.inf with a standard ASCII text editor and put it in the root
- directory of your boot partition (e.g., if your AUTO folder is C:\AUTO\,
- put digivec.inf in C:\).
-
-
-
-
-
-
-
-
-
- In digivec.inf you specify which sounds will be installed, and what events
- will trigger them. Each entry starts with a sample file name, enclosed
- in square brackets, followed by the sample playback speed, in Hertz,
- followed by a list of system vectors which will trigger the sound. Here's
- an example digivec.inf file:
-
- [d:\usr\sounds\buserror.snd] 11000 $8 $C
-
- This file tells Digivec to load the sample named d:\usr\sounds\buserror.snd
- and to play it at 11000 Hz whenever vectors 8 (hex) and C (hex) are jumped
- through (in this case, any time either a bus error or address error occur).
-
- Increasing the number 11000 will make the sound play faster; decreasing
- it will make the sound play slower.
-
- The digivec.inf file can contain as many of these entries as you want;
- the only limitation is that all the samples have to fit in memory at once.
-
- Note that file names MUST be enclosed in square brackets.
-
-
- The Vectors
- -----------
-
- You can specify the system vectors either in hexadecimal (with leading $)
- or decimal (no leading $). Interesting vectors for triggering sounds
- include (but are not limited to):
-
- Hex Decimal Description
- --- ------- -----------
- $8 8 Bus Error
- $C 12 Address Error
- $10 16 Illegal Instruction
- $14 20 Division by Zero
- $20 32 Privilege Violation
- $28 40 Line A Emulator
- $2C 44 Line F Emulator
-
- $404 1028 Critical Error
- $408 1032 Process Termination
- $476 1142 Drive read/write
-
- The first 5 vectors deal with failures caused (typically) by software
- bugs. These are the things that cause the ST to put bombs on the
- screen. But it's so much more fun to have the ST say "Just what do
- you think you're doing, Dave?" when a bus error occurs. (Especially
- if your name is Dave and you crash the machine a lot...)
-
- The Line A and Line F emulators are typically used to call system
- functions. (Line A is used for drawing functions; Line F is used in a very
- few programs for pulling off bizarre hacks and/or for floating point).
- Triggering sounds with these is not terribly useful unless you're a
- programmer-type and want to see just what a given application is up to.
- (It's also neat to install a sound at Line A and then run NEOchrome!)
-
- GEM uses the critcal error vector when various things confuse it. The
- most common of these is trying to read or write with no disk in the drive.
-
-
-
-
-
-
-
-
-
- The process termination vector will trigger a sound whenever any program
- exits. This can get extremely annoying after a while. Trust me. It's
- really fun to install this one on a machine when the owner isn't looking.
-
- If you miss your Atari 800, with it's "boop boop boop" disk access,
- you can trigger a sound with the disk read/write vector. Another good
- one to surprise your friends with.
-
-
- Command Line Usage
- ------------------
-
- Digivec is only meant to be run from within the AUTO folder. It does
- some "unusual" things to ensure that the sounds do not get un-installed
- when GEM loads. One side effect of this is that if you run Digivec from
- the desktop or from a command shell, it won't do anything except take
- up memory, UNLESS you pass it a parameter. It doesn't matter what the
- parameter is, as long as you pass one.
-
- To run digivec from the desktop, you'll need to rename a copy digivec.ttp.
- When you click on it, the desktop will ask for parameters. Just type an x
- and hit return. Then Digivec will know it's not running from within the AUTO
- folder and will work correctly.
-
- To run Digivec from a command shell (e.g., GULAM), type
-
- digivec x
-
- Note that when you run Digivec from the desktop or a command shell,
- it looks for digivec.inf in the current working directory.
-
-
- Technical Information
- ---------------------
-
- Digivec works by installing a new exception handler for each vector
- specified in digivec.inf. Each new handler just plays the appropriate
- sound then jumps through the old vector. This should not adversely affect
- the system in any way, except in cases where timing is critical. (So
- don't trigger sounds with the horizontal blank interrupt!)
-
- Minor problems are caused by the fact that when GEM loads (after AUTO
- folder programs are finished), it obliterates the critical error vector and
- the process termination vector and installs its own. To get around this,
- Digivec waits for GEM to finish loading before it actually installs any
- vectors.
-
-
- Caveats
- -------
-
- Digivec will replace any vector in the system. It does not check to make
- sure the vectors you specify are reasonable. This means that you could
- theoretically replace some vector in the system that no one else has thought
- of replacing, with nifty results. It also means you could make your ST crash
- in all kinds of hideous ways.
-
-
-
-
-
-
-
-
-
- The upshot is this: Don't put digivec.prg in your AUTO folder until
- you're sure you know how to boot your system without Digivec getting run.
- If you're a hard drive user, be sure you know how to bypass the hard drive,
- so that if your digivec.inf is not kosher you'll still be able to use your
- machine.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-